package com.spdd.mt.biz.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spdd.mt.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.util.Date;

/**
 * <p>
 * 充值商品订单通知回调表
 * </p>
 *
 * @author shanfeilong
 * @since 2025-04-02
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@TableName("mt_recharge_order_notify")
public class MtRechargeOrderNotifyEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /** 订单表主键 */
    @TableField("order_id")
    private Long orderId;

    /** 回调地址 */
    @TableField("notify_url")
    private String notifyUrl;

    /** 通知内容 */
    @TableField("notify_content")
    private String notifyContent;

    /** 通知状态:0-待通知 1-通知成功 2-通知失败 */
    @TableField("notify_status")
    private Integer notifyStatus;

    /** 通知时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("notify_time")
    private Date notifyTime;

    /** 通知类型: 0-系统 1-人工 */
    @TableField("notify_type")
    private Integer notifyType;

    /** 操作人id */
    @TableField("operator_id")
    private String operatorId;

    /** 操作人id */
    @TableField("operator_name")
    private String operatorName;

    /** 创建时间 */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新时间 */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

}
